package org.microframework.cloud.logs.model.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * API调用日志查询参数
 *
 * @author zs
 * @version 1.0.0
 * @since 2024-06-14
 */
@Data
@Schema(description = "API调用日志查询参数")
public class ApiLogQueryDTO {
    
    @Schema(description = "服务名称，支持模糊查询")
    private String serviceName;
    
    @Schema(description = "服务IP地址，支持模糊查询")
    private String serviceIp;
    
    @Schema(description = "接口名称，支持模糊查询")
    private String apiName;
    
    @Schema(description = "请求方法，如GET、POST、PUT、DELETE等")
    private String method;
    
    @Schema(description = "请求路径，支持模糊查询")
    private String requestPath;
    
    @Schema(description = "响应状态码，如200、404、500等")
    private Integer responseStatus;
    
    @Schema(description = "调用状态：0-成功，1-失败")
    private Integer status;
    
    @Schema(description = "调用者，支持模糊查询")
    private String caller;
    
    @Schema(description = "追踪ID，用于分布式追踪")
    private String traceId;
    
    @Schema(description = "开始时间，格式：yyyy-MM-dd HH:mm:ss")
    private String startTime;
    
    @Schema(description = "结束时间，格式：yyyy-MM-dd HH:mm:ss")
    private String endTime;
    
    @Schema(description = "当前页码，默认1")
    private Integer cur = 1;
    
    @Schema(description = "每页记录数，默认10")
    private Integer limit = 10;
} 